﻿namespace Application_Core.Bauteil_Component.Access_Layer
{
    public interface BauteilInternalService
    {
        /// <summary>
        /// Sucht den technischen Schlüssel eines Bauteils anhand der Bauteilnummer heraus.
        /// </summary>
        /// <param name="nummer">Bauteilnummer</param>
        /// <returns>Technischer Bauteilschlüssel | null</returns>
        int FindIdByNummer(int nummer);

        /// <summary>
        /// Erstellt einen neuen Fertigungsauftrag aus Fertigungsauftragsnummer, einem Auftrag und Bauteil anhand der technischen Schlüssel.
        /// </summary>
        /// <param name="fertigungsauftragsnummer">Neue Fertigungsauftragsnummer</param>
        /// <param name="auftragId">AuftragId</param>
        /// <param name="bauteilId">BauteilId</param>
        void CreateFertigungsauftrag(int fertigungsauftragsnummer, int auftragId, int bauteilId);

        /// <summary>
        /// Löscht einen Fertigungsauftrag anhand seiner Fertigungsauftragsnummer.
        /// </summary>
        /// <param name="fertigungsauftragsnummer">Fertigungsauftragsnummer</param>
        void DeleteFertigungsauftrag(int fertigungsauftragsnummer);
    }
}
